/***
 * 扩展Easyui验证方法
 * */

/**
 * 扩展easyui表单验证
 */
$.extend($.fn.validatebox.defaults.rules, {
    phone: {
        validator: function (value) {
            var phone = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/
            return phone.test(value);
        },
        message: "请输入正确的手机号码"
    },
    //验证手机号和固话（2018）
    phoneNum: {
        validator: function (value) {
           /* var regex = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/;*/ ;
            /*
            * update
            * author：chutianhua
            * time：2018-6-46
            * explain：增加校验座机号方法
            * */
            var phone = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/
            var mobile = /^0\d{2,3}-?\d{7,8}$/;
            return mobile.test(value) || phone.test(value);
        },
        message: "请输入正确的手机号码或固话号码"
    },
    phoneAndTelNum: {
        validator: function (value) {
            /* var regex = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/;*/ ;
            /*
             * update
             * author：chutianhua
             * time：2018-6-46
             * explain：增加校验座机号方法
             * */
            var mobile = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,phone = /^0\d{2,3}-?\d{5,16}$/,phoneAll = /^\d{5,16}$/,phoneQH = /^0\d{2,3}-?\d{3,9}-?\d{1,6}$/;
            return mobile.test(value) || phone.test(value) || phoneAll.test(value) || phoneQH.test(value);
        },
        message: "请输入正确的联系方式"
    },
    //验证运单号8-20位，必须包含数字和字母
    wayBillNum: {
        validator: function (value) {
            //8-20位必须包含数字和字母
            //var regex =/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$/;
            //8-20位数字或字母或数字+字母
            var regex = /^[0-9a-zA-Z]{8,20}$/;
            return regex.test(value);
        },
        message: "请输入正确的运单号"
    },
    //验证只能输入数字和小数
    money:{
        validator: function (value) {
            var regex = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
            return regex.test(value);
        },
        message: "请输入正确的金额,小数点只保留后两位"
    },
    //验证只能输入数字和小数
    numberOne:{
        validator: function (value) {
            var regex = /(^[1-9]([0-9]+)?(\.[0-9]{1,1})?$)|(^(0){1}$)|(^[0-9]\.[0-9]?$)/;
            return regex.test(value);
        },
        message: "请输入正确的数量,小数点只保留后一位"
    },
    //验证只能输入非0正整数
    number:{
        validator: function (value) {
            var regex = /(^[1-9]\d*$)/;
            return regex.test(value);
        },
        message: "请输入正整数"
    },
    //验证服务类工单编码规则
    serviceOrderCodes:{
        validator: function (value) {
            //var regex = /^[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{7}$/;
            var regex = /^[0-9a-zA-Z]+$/;
            return regex.test(value);
        },
        message: "请输入正确的服务类工单编号"
    },
    equaldDateMonth:{
        validator: function (value, param) {
            var startTime = $(param[0]).datetimebox('getValue');
            if(startTime == null || startTime == '' || startTime == ' ' || startTime == undefined){
                $.fn.validatebox.defaults.rules.equaldDateMonth.message='起始时间不能为空!';
                return false;
            }
            if(value == null || value == '' || value == ' ' || value == undefined){
                $.fn.validatebox.defaults.rules.equaldDateMonth.message='截止时间不能为空!';
                return false;
            }
            if(value < startTime){
                $.fn.validatebox.defaults.rules.equaldDateMonth.message='截止时间应不小于起始时间!';
                return false;
            }
            var values = new Date(value + ' 23:59:59').getTime();
            var start = new Date($(param[0]).datetimebox('getValue') + ' 00:00:00').getTime();  //获取开始时间
            var dateCut=(values - start);
            var dateMonth=60*60*24*31*1000;
            var dateBoolean=dateCut-dateMonth;
            if(dateCut>dateMonth){
                $.fn.validatebox.defaults.rules.equaldDateMonth.message='日期查询最大支持31天';
                return false;
            }
            return true;
        },
        message:""
    },
    //验证截止时间大于开始起始时间
    equaldDate: {
        validator: function (value, param) {
            var start = $(param[0]).datetimebox('getValue');  //获取开始时间
            return value >= start;                             //有效范围为当前时间大于开始时间
        },
        message: '截止时间应不小于起始时间!'                     //匹配失败消息
    },
    //验证选中的不是未来日期，截止时间大于开始起始时间 只允许传递日期格式 不允许时间格式
    equaldDateF: {
        validator: function (value, param) {
            var values = new Date(value + ' 00:00:00').getTime();
            var start = new Date($(param[0]).datetimebox('getValue') + ' 00:00:00').getTime();  //获取开始时间
            var end = new Date($(param[1]).datetimebox('getValue') + ' 00:00:00').getTime(); //获取截止日期
            var now = new Date().getTime();
            if(values > now){
                return false;    //有效范围为当前时间大于开始时间
            }else if(values < start && param[1]==param[2]){
                return false;    //有效范围为当前时间大于开始时间
            }else{
                return true;
            }

        },
        message: '请不要选择未来日期并且截止时间应不小于起始时间!'                     //匹配失败消息
    },
    /**
     *@author chutianhua
     * @description 增加仲裁投诉和申诉 运单编号模糊查询和多个运单号查询的校验（本方法只适用于仲裁投诉和申诉工单）(非本人请勿改动，否则后果自负)
     * @date 2018/7/5 11:12
     * **/
    wayBillNumLike:{
        validator : function (value) {
            var waybillNumLike = /^([0-9a-zA-Z,][^''"" ‘’“”])[^''"" ‘’“”]{8,20}$/, regex = /^[0-9a-zA-Z]{8,20}$/,number = /^[0-9]{1,20}$/;
            return waybillNumLike.test(value)  || regex.test(value)|| number.test(value);
        },
        message:'请输入正确的查询运单号格式'

    }
});




